package com.healthyeating.manage.mapper;

import java.util.List;
import com.healthyeating.manage.domain.Share;
import com.healthyeating.manage.domain.UserShare;
import org.apache.ibatis.annotations.Param;

/**
 * 发现分享Mapper接口
 * 
 * @author 段奇乐
 * @date 2025-03-22
 */
public interface ShareMapper 
{
    /**
     * 查询发现分享
     * 
     * @param shareId 发现分享主键
     * @return 发现分享
     */
    public Share selectShareByShareId(Long shareId);

    /**
     * 查询发现分享列表
     * 
     * @param share 发现分享
     * @return 发现分享集合
     */
    public List<Share> selectShareList(Share share);

    /**
     * 新增发现分享
     * 
     * @param share 发现分享
     * @return 结果
     */
    public int insertShare(Share share);

    /**
     * 修改发现分享
     * 
     * @param share 发现分享
     * @return 结果
     */
    public int updateShare(Share share);

    /**
     * 删除发现分享
     * 
     * @param shareId 发现分享主键
     * @return 结果
     */
    public int deleteShareByShareId(Long shareId);

    /**
     * 批量删除发现分享
     * 
     * @param shareIds 需要删除的数据主键集合
     * @return 结果
     */
    public int deleteShareByShareIds(Long[] shareIds);

    /**
     * 新增点赞记录
     *
     * @param userShare 点赞记录
     * @return 结果
     */
    public int insertUserShare(UserShare userShare);

    /**
     * 查询点赞记录
     *
     * @param shareId 发现点赞记录id
     * @param userId 用户id
     * @return 点赞记录
     */
    public UserShare selectUserShareByShareIdAndUserId(@Param("shareId") Long shareId, @Param("userId") Long userId);

    /**
     * 修改点赞记录
     *
     * @param userShare 点赞记录
     * @return 结果
     */
    public int updateUserShare(UserShare userShare);
}
